package com.hqully.smartfumehood.common.utils;

import com.hqully.smartfumehood.common.vo.QueryVo;
/**
 * <p>
 * 权限处理工具类
 * </p>
 * @author liulingyu
 * @date 2022-05-07 19:40
 * @version 1.0
 */
public class PermissionUtil {


    /**
     *<p>
     *设置查询信息的单位信息，实验室管理员只能查询本单位的数据
     *</p>
     * @date 2022/5/7 19:41 <br>
     * @author liulingyu <br>
     * @param token JWTToken
     * @param queryVo 查询参数
     * @return {@link QueryVo} 设置单位以后的查询参数
     */
    public static QueryVo setQueryUnitId(String token, QueryVo queryVo){
        Long userUnitId = JWTUtil.getUnitId(token);

        //超级管理员账号token中的UnitId为-1
        if (null != userUnitId && userUnitId != -1){
            if (queryVo.getQuery().containsKey("unitId")){
                queryVo.getQuery().replace("unitId",userUnitId);

            }else {
                queryVo.getQuery().put("unitId",userUnitId);
            }

        }
        return queryVo;
    }

    /**
     *<p>
     *设置查询信息的用户名
     *</p>
     * @date 2022/5/7 19:42 <br>
     * @author liulingyu <br>
     * @param token  JWTToken
     * @param queryVo 查询参数
     * @return {@link QueryVo}  设置用户名以后的查询参数
     */

    public static QueryVo setQueryUserName(String token, QueryVo queryVo){

        String username = JWTUtil.getUsername(token);

        if (null != username){
            if (queryVo.getQuery().containsKey("username")){
                queryVo.getQuery().replace("username",username);

            }else {
                queryVo.getQuery().put("username",username);
            }

        }
        return queryVo;
    }
}
